Kali Linux(Debian)代理工具:ProxyChains使用教程 | 您所在的位置:网站首页 › linux ip转换代理 › Kali Linux(Debian)代理工具:ProxyChains使用教程 |
ProxyChains是一个开源代理工具,能够强制使任何应用的TCP连接使用SOCKS4,SOCKS或者HTTP(S)代理进行连接。首先简单介绍一下ProxyChains的具体操作流程,如下: 一、ProxyChains下载与安装 由于Kali Linux系统测试这个系统中已经自带了ProxyChains,因此就不多说了,简单说下: ProxyChains下载地址:https://github.com/rofl0r/proxychains-ng 二、ProxyChains 配置 ProxyChains运行的所有配置都在“/etc/proxychains.conf ”文件中;
在 [ProxyList] 下面添加代理IP和端口,可以任意添加代理,一行一个记录。 例如,我添加代理IP和端口,如下图:
其它配置项用法如下: dynamic_chain:该配置项能够通过ProxyList中的每个代理运行流量,如果其中一个代理关闭或者没有响应,它能够自动选择ProxyList中的下一个代理; strict_chain:改配置为ProxyChains的默认配置,不同于dynamic_chain,也能够通过ProxyList中的每个代理运行流量,但是如果ProxyList中的代理出现故障,不会自动切换到下一个。 random_chain:该配置项会从ProxyList中随机选择代理IP来运行流量,如果ProxyList中有多个代理IP,在使用proxychains的时候会使用不同的代理访问目标主机,从而使主机端探测流量更加困难。三、ProxyChains 使用 大致了解了proxychains的配置项之后,可以测试一下proxychains使用代理访问的情况,proxychains使用起来也非常简单,命令形式为: proxychains
1、使用ProxyChains代理访问网站 root@kali:~# proxychains curl https://www.xxx.com
2、接下来,我们可以亲自实践一下sqlmap+proxychains代理的效果。
第一步:首先,直接运行sqlmap扫描目标地址,然后在某云上的WAF看到拦截日志及源IP:
第二步:接着,利用proxychains代理sqlmap扫描目标地址,然后在某云上的WAF上能过看到拦截日志及源IP已经变成了代理IP:
可以看到攻击IP已经变成了代理IP,所属地区也变成了代理IP的地区,试验成功。 四、ProxyChains自动添加代理 接下来就是说说,如何实现ProxyChains自动添加代理?大致分为以下几个步骤: 需要有一个提供免费代理的地址; 解析该地址提供的内容获取代理IP和端口; 将获取的代理IP和端口加入到proxychains.conf配置文件的ProxyList配置项中;
免费代理的网站百度或者谷哥就能得到很多答案,例如: 快代理:https://www.kuaidaili.com/free/ ProxyList:https://proxy-list.org/english/index.php;PorxyList是国外的一个提供免费代理的网站,貌似需要翻墙访问,这里我使用快代理提供的IP和端口。
唯一需要注意的是:在使用proxychains代理转发过程中,如果目标对象为https,那么需要使用支持SSL/https协议的代理,快代理提供的免费代理均只支持http协议;Proxy List中有支持SSL/HTTPS协议且免费的代理。
ProxyChains自动添加代理具体步骤如下:
1、访问快代理并解析网页内容获取代理IP和端口;
2、将获取的代理IP和端口更新写入ProxyList配置项中;
3、查看代理IP是否写入配置文件成功?配置文件更新成功之后,就可以运行该脚本看看效果了,出现如下图结果,代理写入成功。
整个Python脚本代码如下: #!/usr/bin/python # -*- coding: utf-8 -*- import json import requests import time import os from bs4 import BeautifulSoup url = "https://www.kuaidaili.com/free/" headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'} def get_proxy_datas(): r = requests.get(url,headers=headers) content = r.content soup = BeautifulSoup(content,'lxml') ips =soup.find_all('td',attrs={'data-title':'IP'}) ports = soup.find_all('td',attrs={'data-title':'PORT'}) print('开始写入代理IP和端口......') write_conf(ips,ports) print("代理ID和端口写入完成,将退出......") def write_conf(ips,ports): for i in range(0,len(ips)): print("--->IP:"+ips[i].string+"PORT:"+ports[i].string+" |
CopyRight 2018-2019 实验室设备网 版权所有 |